﻿using System;
using WebHelper;
using Ext.Net;
using IU.Contabilidad;
using IU.Generico;

namespace IU.AdministradorGral.Tablas
{
    public partial class GestionarChequeras : System.Web.UI.Page
    {      
        public int IdBanco
        {
            get
            {
                if (Session["GestionarChequeras.IdBanco"] == null)
                    return -1;

                return (int)Session["GestionarChequeras.IdBanco"];
            }
            set
            {
                Session["GestionarChequeras.IdBanco"] = value;
            }
        }

        #region Selector de bancos

        protected bool BancoSeleccionado
        {
            get { return Selector.ObtenerResultado(SelectorBanco.Id, "GestionarChequeras.aspx", this) != null; }
        }

        protected int ObtenerBanco()
        {
            return int.Parse(Selector.ObtenerResultado(SelectorBanco.Id, "GestionarChequeras.aspx", this).ToString());
        }

        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!X.IsAjaxRequest)
                {
                    if (!BancoSeleccionado)
                    {
                        Selector.Preparar(SelectorBanco.Id, "GestionarChequeras.aspx", this);
                        Response.Redirect("SelectorBanco.aspx");
                        return;
                    }
                    else
                    {
                        if (IdBanco != ObtenerBanco())
                        {
                            IdBanco = ObtenerBanco();
                            Selector.LimpiarResultado(SelectorBanco.Id, "GestionarChequeras.aspx", this);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                UIHelper.MostrarExcepcionSimple(ex, "Error");
            }

            if (!X.IsAjaxRequest)
            {
                Session["GestionarChequeras_Indice_idindice"] = 0;
            }

            this.ControlAbm1.Tipo = typeof(Entidades.Entity_sucursalbanco);
            this.ControlAbm1.Titulo = "";
            this.ControlAbm1.MostrarDescripcion = false;
            this.ControlAbm1.Valores = new SqlValor[] 
            { 
                new SqlValor("Banco_idbanco", IdBanco),
                new SqlValor("Banco_empresa_idempresa", ContabilidadGlobal.Admin.CodEmpresa) 
            };
            this.ControlAbm1.AlSeleccionar += new EventHandler(ControlAbm1_AlSeleccionar);
            this.ControlAbm1.OnShow();

            this.ControlAbm2.Tipo = typeof(Entidades.Entity_chequera);
            this.ControlAbm2.Titulo = "";
            this.ControlAbm2.MostrarDescripcion = false;
            this.ControlAbm2.Valores = new SqlValor[] 
            { 
                new SqlValor("Sucursalbanco_idsucursalbanco", Session["GestionarChequeras_Indice_idindice"]),
                new SqlValor("Sucursalbanco_banco_idbanco", IdBanco),
                new SqlValor("Sucursalbanco_banco_empresa_idempresa", ContabilidadGlobal.Admin.CodEmpresa)
            };

            this.ControlAbm2.OnShow();
        }

        void ControlAbm1_AlSeleccionar(object sender, EventArgs e)
        {
            object row = this.ControlAbm1.SelectedItem;

            if (row == null)
            {
                this.ControlAbm2.Valores[0].Valor = 0;
            }
            else
            {
                var indx = (Entidades.Entity_sucursalbanco)row;
                this.ControlAbm2.Valores[0].Valor = indx.Idsucursalbanco;
                Session["GestionarChequeras_Indice_idindice"] = indx.Idsucursalbanco;
            }

            this.ControlAbm2.ActualizarConsultas();
        }
    }
}
